home *** CD-ROM | disk | FTP | other *** search
- 16 March 1991
-
- More Ports for Your Amiga
-
- An I/O Expansion board
-
- by Jeff Lavin
- Copyright ©1990,91 The Puzzle Factory
-
- Many of you in the Amiga community have built Brad Fowles' excellent "LUCAS"
- accelerator board, which introduced the idea of "Public Domain Hardware". In
- this article I will present another public domain hardware project for the
- Amiga, which will enable you to add two parallel ports and two serial ports
- to your Amiga 500, 1000 or 2000 for $70. Furthermore, you can easily and
- inexpensively upgrade to four parallel ports and/or four serial ports at any
- time.
-
- The hardware consists of a small printed circuit board with a 40 pin cable
- and DIP jumper that plugs into the socket occupied by CIA B, and a small pcb
- that contains the serial interface (see file "IO_Exp_Diag.iff"). CIA B is
- physically moved onto the I/O Expansion board.
-
-
- Raison d'etre
- =============
- As a hardware hacker of long standing, I have a number of small computers
- with all sorts of hardware attached to them, from extra ports to EPROM
- programmers, and longed to do the same with the Amiga. Since the Amiga uses
- a pair of 8520's (actually 6526's) for its I/O, I figured it would be a piece
- of cake to add more 65/68XX family peripheral chips and be up and running.
- The only problem was that, because there is no obvious chip select decoding,
- I could never figure out how the 8520's were addressed. One day a friend
- came by, and we were able to figure out that the I/O chips are
- "automatically" selected when certain addresses are generated by logic hidden
- in the PALS. Now that the final piece of the puzzle was in place, I wasted
- no time and had a prototype in my Amiga in two weeks.
-
-
- How it works
- ============
- This hardware hack is possible because of two things the designers of the
- Amiga did for us:
-
- 1. The address space where the CIAs live is incompletely decoded. This
- means the 16 CIA registers are echoed repeatedly over a large range.
-
- 2. The locations where software is supposed to address the CIA registers
- is completely specified over a much smaller range.
-
- These two facts make it possible for us to take the chip select from one CIA,
- and divide it into four parts. The addresses in the upper part are routed to
- the CIA normally, and we "steal" the addresses from the remainder of the
- space for our own use (see file "IO_Exp_Diag.iff"). Because the "hard" part,
- most of the address decoding and the bus timing, has been done for us, we can
- get away with nothing more complicated than an additional address decoder to
- split off our address space.
-
- Unfortunately, this hack is not possible on the A3000 for the same reason
- that it is possible on earlier Amigas. The address decoding on the A3000 is
- complete; there are no "extra" incompletely decoded addresses to "steal".
-
- As you will note, the VIA and ACIA registers are still echoed over a pretty
- wide address range. We have specified where to address them for the same
- reason that Commodore has specified addresses for the CIAs: to ensure
- software compatibility (see file "IO_Exp_Diag.iff", Register Summary). We
- would very much like to see enough people build these boards to create an
- installed software base. So programmers, please use these addresses when you
- are writing all those neat multi-line BBS programs and multi-user
- applications, as well as process control programs, robotics demos, etc.
-
-
- The Disclaimer
- ==============
- This is a simple hack, and if you get the bare boards, or a parts kit, you
- should have no trouble putting it together and having it running on your
- Amiga in short order. You do not need to understand how this board works to
- enjoy using it, but it will help if you have to fix it. While not hard to
- build, from the time you start this project, it is your sole responsibility.
- If you fry your beloved Amiga, or have other problems, they're your problems.
- Because the RF shield is modified in order to install this board (on an Amiga
- 1000), it's your responsibility to comply with FCC regulations concerning
- RFI. If your neighbors complain of RFI on their TV sets, you must solve the
- problem. If you have no experience soldering or handling electronic
- components, don't try this project as your first one! I may be able to offer
- advice for some problems, but I will not be a repair resource for this
- project. I check BIX regularly, and my email address is jblavin. Usenet
- users may also send email to jlavin@cie.uoregon.edu, and please check your
- return path for accuracy. Alternatively, you can leave a message on my BBS,
- The Symposium, 24 hrs, 2400 baud, at (503) 935-7883.
-
- While every effort has been made to make these instructions as accurate and
- complete as possible, neither Jeff Lavin or The Puzzle Factory, Inc. accepts
- any responsibility arising from any inaccuracies contained herein.
-
-
- Assembly
- ========
- If you're still with me, the first step is to get the bare board and all the
- required parts. Detailed assembly instructions will be supplied, on disk,
- with your order. See below for details and sources. Carefully follow the
- instructions that come with the boards and solder sockets for all the ICs
- onto the boards. Solder the capacitors, resistors, and the crystal into
- place. Solder the dual-row and single-row headers, being especially careful
- of solder bridges. Install all the other parts. Cut two pieces of wire
- about 8 inches long (28-30 gauge stranded wire will work well here), and
- solder one end of each wire to the posts of J3. Assemble the DIP adapter
- cable. Place the board on a piece of conductive foam or some foil. Install
- the ICs. One or both of the VIAs and/or DACIAs may be installed at this
- time. If you choose to install only one of either chip at this point,
- install it in the socket indicated.
-
-
- A500 Installation
- =================
- Remove power from the Amiga. Remove the screws securing the cover and remove
- the cover from the Amiga. Remove the keyboard. On some A500s the keyboard
- connector is not polarized, so note it's orientation. You don't have to
- remove the disk drive, but it will help if you unplug it's cables from the
- motherboard and fold them out of the way. Toward the back of the motherboard
- are the two CIAs. Gently pry CIA B out of its socket (that's the one closest
- to the disk drive), and install it on the I/O Expansion Board at U1. Be
- careful to orient it correctly. After installing the I/O Expansion Board and
- Serial Interface Board(s) (see "Mechanical Installation"), remove the
- conductive material from the board and carefully insert the 40 pin DIP jumper
- on the end of cable, CA1, into the CIA B socket, ensuring that all 40 pins
- line up correctly. Then connect the 20x2 socket on the other end of the
- cable onto the header at P1 on the I/O Expansion Board. As long as you are
- careful and don't use excessive force, you should have no problems with this
- part of the installation.
-
- Now we're going to connect the two wires we attached to J3 earlier. These
- wires bring A14 and A15 into the address decoder. These signals are not
- available from the CIA socket, so we must look elsewhere. A good place to
- pick up these signals is from the ROM. Unfortunately, there are a number of
- different motherboards made for the A500. The best way to determine where
- A14 and A15 are located on the ROM is to take an ohmeter and find out which
- ROM pins are connected to pin 42 (A14) and pin 43 (A15) on the CPU. The
- corresponding pins on the ROM should be somewhere around pin 36. Some of the
- A500 schematics are incorrect as to the location of these signals on the ROM,
- so it's best to check! Solder the wire from the pad marked "A15" on the I/O
- Expansion Board to A15 on the ROM, and solder the wire from the pad marked
- "A14" on the I/O Board to A14 on the ROM. This just about completes the
- electronic installation. (Skip to "Mechanical Installation".)
-
-
- A1000 Installation
- ==================
- Remove power from the Amiga. Remove the plastic cover from the Amiga base
- unit. Admire all the names. Remove the RF shield and set aside. You don't
- have to remove the disk drive, but it will help if you unplug it's cable from
- the motherboard and fold it out of the way. Just in back of the internal
- drive are the two CIAs. Gently pry CIA B out of its socket (that's the one
- closest to the daughterboard), and install it on the I/O Expansion Board at
- U1. Be careful to orient it correctly. Remove the conductive material from
- the board and place it on the left side of the Amiga, near and to the rear of
- the three custom chips. Carefully insert the 40 pin DIP jumper on the end of
- cable, CA1, into the CIA B socket, ensuring that all 40 pins line up
- correctly. Then connect the 20x2 socket on the other end of the cable onto
- the header at P1 on the I/O Expansion Board. As long as you are careful and
- don't use excessive force, you should have no problems with this part of the
- installation.
-
- Now we're going to connect the two wires we attached to J3 earlier. These
- wires bring A14 and A15 into the address decoder. These signals are not
- available from the CIA socket, so we must look elsewhere. A good place to
- pick up these signals is from the back of the daughter board. A15 is located
- at U2L, pin 10, and A14 is located at U2K, pin 13 (see file
- "IO_Exp_Scheme.iff"). Solder the wire from the pad marked "A15" on the
- I/O Expansion Board to U2L, pin 10, and solder the wire from the pad marked
- "A14" on the I/O Board to U2K, pin 13. This just about completes the
- electronic installation. (Skip to "Mechanical Installation".)
-
-
- A2000 Installation
- ==================
- Note: The following installation was done on a Rev 4.2 motherboard. Other
- motherboards may be somewhat different.
-
- Remove power from the Amiga. Five screws hold the case together, 4 on the
- sides and 1 at the back. Unscrew them and slide off the top part of the
- case. Make a sketch indicating the orientation of all cables connecting the
- drive bay and the motherboard and/or other cards (such as hard drive
- controller cards), then unplug them. Remove the power supply/drive bay by
- unscrewing 2 screws in front and 4 in the back. At this point the
- motherboard should be completely exposed.
-
- Underneath where the power supply was, before you removed it, are the two
- CIAs. Gently pry CIA B (labeled U301) out of its socket, and install it on
- the I/O Expansion Board at U1. Be careful to orient it correctly.
-
- One of the most difficult decisions you will have is where to mount the I/O
- Board. The location you choose will be affected by how crowded your 2000 is,
- whether you have a board in the CPU slot, etc., so it's not possible to give
- definite instructions. Note that this decision will affect how you'll want
- to assemble the 40-pin DIP jumper, so hold off the construction of this cable
- until you have resolved the board's final location. One idea is especially
- attractive: Mount the I/O Board on a bare Zorro card, or maybe even a real
- Zorro card (a HD controller with unused space reserved for a hard disk would
- be ideal). This will give it sufficient mechanical sturdiness, and make it
- extremely easy to obtain A14 and A15 as well as additional power and ground
- lines.
-
- After you have determined where the I/O Board is to be installed, remove the
- conductive material from the board and install it. Assemble the 40 pin DIP
- jumper cable, CA1, and carefully insert the DIP plug into the CIA B socket,
- ensuring that all 40 pins line up correctly. Then connect the 20x2 socket on
- the other end of the cable onto the header at P1 on the I/O Expansion Board.
- As long as you are careful and don't use excessive force, you should have no
- problems with this part of the installation.
-
- Now we're going to connect the two wires we attached to J3 earlier. These
- wires bring A14 and A15 into the address decoder. These signals are not
- available from the CIA socket, so we must look elsewhere. There are only a
- few sources of A14 and A15 in the 2000. The unbuffered signals are available
- at the 68000/68010, the ROM, and Agnus. The use of the unbuffered address
- lines is not recommended. Instead, grab A14 and A15 from U601 (an 74LS245)
- or one of the 100-pin "Zorro II" slots, as follows:
-
- U601
- ----
- A14 - pin 12
- A15 - pin 11
-
- "Zorro II" slot
- ---------------
- A14 - pin 41
- A15 - pin 43
-
- This just about completes the electronic installation.
-
-
- Mechanical Installation
- =======================
- Note: As the following section was written primarily for an A1000, only some
- portions will be applicable to other Amigas. We encourage you to read this
- section even if you own an A2000.
-
- Most of the remainder of the work is of a mechanical nature. At this point
- you must make some decisions. First of all, decide exactly where and how you
- want to secure the I/O Expansion Board in place. In my own A1000, I set one
- end of the board on top of the power harness, and supported the other end
- with plastic standoffs.
-
- Where do you want to mount the connectors for the serial ports? You will
- find that the four D-subminiature connectors will fit handily over the
- existing row of connectors on the Amiga's rear apron (see file
- "Installation.iff"). Each serial interface board connects to the I/O
- Expansion Board with a 20 pin ribbon cable and header sockets. The first two
- ports, Port 1 and Port 2, are connected to P4 on the I/O Expansion Board,
- while Port 3 and Port 4 are connected to P5.
-
- What kind of connectors do you want to use for the parallel ports? You could
- use D-subminiature connectors for the parallel ports if you can find a way to
- tell them apart from the serial ports. Centronics-type connectors are
- another option for the parallel ports. After deciding what type of
- connectors to use, either solder or crimp ribbon cable to them, as
- appropriate, and install them temporarily. Experiment with different wire
- routings until you are satisfied with the arrangement. Now attach the other
- end of the ribbon cable to the I/O Board connectors, making sure to attach
- grounds to the two ground pads provided near pin 1 of P2 and P3.
-
- Whatever connectors you do end up using will have to be installed somewhere.
- You will need to make cutouts for the connectors, and also cutouts in the RF
- shield. One option may be to just leave the shield off entirely, but
- remember that you are responsible for any RFI that results from your
- modifications. This completes the installation.
-
-
- Debugging
- =========
- Note: The following section was written primarily for an A1000. With the
- exception of references to Kickstart, most of the remainder will be
- applicable to other Amigas.
-
- Before you start permanently attaching things to your Amiga, you will want to
- try things out. For simplicity, you may apply power to the I/O Expansion
- Board without having the Interface Board(s) connected. If you power up, and
- nothing at all happens, i.e. the screen doesn't change color - the power LED
- may not come on, etc., turn the power off immediately, as you probably have a
- short circuit. Visually inspect the board, and if you find nothing wrong,
- remove all the chips, except for the CIA at U1, and temporarily insert a
- jumper from U6, pin 1 to U6, pin 7. This will have the effect of making the
- CIA look electrically to the Amiga as if the I/O Board wasn't there at all.
- Try powering up again. If you get the Kickstart disk icon this time, you can
- pretty well suspect a bad IC, or a missing signal (or ground). One other
- thing you may try at this time is to solder a 10K resistor between the reset
- pin of any of the chips U2-U5 and +5V. On some Amigas the built-in pull-up
- resistor may be insufficient. If none of these remedies get you running,
- it's hardware debugging time, and I wish you luck.
-
- If the Amiga does all or any of the following:
-
- 1. Refuses to accept the Kickstart disk
- 2. The disk drive chatters and buzzes
- 3. Refuses to read the Workbench disk
- 4. Reads Workbench properly, but access light goes on and off,
- drive double-steps, etc.
-
- it is possible that you may be experiencing some noise problems, depending on
- when your Amiga was made. The first thing to suspect in this case is the
- PAL's on the daughterboard. Run additional ground and +5V busses to all 4
- PAL's and both tower sockets. If this doesn't do the trick, run an extra
- ground lead directly to the I/O Expansion Board at the pad marked "-"
- adjacent to P1, pin 1. A +5 power lead may also be connected to the pad
- marked "+" adjacent to P1, pin 39, but should not normally be necessary.
- This should solve the problem. The only other possibility is to try a new
- 8520 (or 6526, which is considerably cheaper). A bad CIA is possible in this
- case, because the signals may be too weak to overcome the extra capacitive
- loading of the cable. If the CIA worked fine before installing it in the I/O
- Board, but will not work correctly in the board, try swapping it with the
- other CIA before buying a new one.
-
-
- Software
- ========
- Of course, hardware is next to useless without software to drive it. This
- section describes the software available for the I/O Expansion Board. Please
- note well that although every effort has been made to ensure completeness and
- compatibility, this is a Public Domain project. All of the people who have
- created hardware or software for this project have done so in their spare
- time without remuneration other than glory. If you experience problems with
- the software, try to smile a lot and consider helping to write an updated
- version. In any case, please contact us if you find any major
- incompatibilities or bugs.
-
-
- The Serial Driver
- -----------------
- Almost all programs written for the Amiga that use the serial port (with the
- notable exception of some MIDI software) access it indirectly via a standard
- software module called "serial.device". As a result, most existing software
- will work fine with the I/O Board given a suitable driver, and we supply one,
- named "newser.device". Simply copy it to your "DEVS:" directory and you're
- in business. Most programs will permit you to change the device name (from
- serial.device to newser.device) as well as the unit number (indicating which
- port is to be used), or you may use the supplied IOpatch utility, described
- below (see "Support Programs").
-
- The newser.device supports 15 standard baud rates, from 50 to 38,400 baud,
- plus MIDI (31,250 baud). It also supports full hardware handshaking. Up to
- four units may be open at one time, although the cpu may not be able to keep
- up with all four units running above 2400 baud.
-
- A more technical discussion of the serial driver is beyond the scope of this
- article. However, it is worth noting that, as with all other programs
- relating to the I/O Board, we supply complete assembly language source code
- of the driver. If you encounter a problem - and all else fails - it's
- possible to fix it yourself. (Please be sure to send Dan a copy of the fixed
- version!) Technical questions, comments, praise, and criticism regarding the
- serial driver should be directed to the author:
-
- Dan Babcock
- P.O. Box 1532
- Southgate, MI 48195
- U.S.A.
-
- People/Link: DANBABCOCK
- Internet: dxb132@psuvm.psu.edu
-
-
- The Parallel Driver
- -------------------
- The four parallel ports on the I/O Expansion Board are controlled by the
- eightbit.device. There are no known differences between this device and the
- V1.3 parallel.device. Applications should not experience any problems
- communicating with the eightbit.device on the device level.
-
- Full assembly language source code of the driver is supplied with the I/O
- Expansion board. (If you find and fix any bugs, please be sure to send Paul
- a copy of the fixed version!) Any questions, comments, praise, etc.
- pertaining to the parallel driver should be directed to the author:
-
- Paul Coward
- 12 Dinmore St., Moorooka
- Brisbane, Queensland 4105
- AUSTRALIA
-
- (Mail to Paul may also be forwarded through The Puzzle Factory.)
-
-
- DOS-Level Support
- -----------------
- "DOS-level support" refers to the ability to get and send data via the serial
- and parallel ports with standard AmigaDOS commands, such as TYPE or LIST, or
- with any program that does serial or parallel I/O via AmigaDOS, rather than
- directly via the Exec-level "newser.device" or "eightbit.device". Although
- this sort of capability is not frequently used, it is useful from time to
- time.
-
- In a perfect world, DOS-level support would mean nothing more than an
- appropriate MountList entry, specifying a driver name of "newser.device" or
- "eightbit.device", and some unit number of your choosing, corresponding to a
- DOS name such as "SER1:" or "PAR2:". Unfortunately, Commodore supplied a
- version of the Port-Handler and Aux-Handler with Workbench V1.3 that doesn't
- permit this; rather, they're hard-coded to use either "serial.device" or
- "parallel.device". The printer.device suffers from a similar limitation. At
- the time of this writing, we don't have a solution to the problem with the
- printer driver, other than using IOpatch. We do have a port handler,
- however. It's named "ioexp-handler". Put this in your "L:" directory, and
- copy the supplied mountlist to "DEVS:", and you're in business. In addition,
- the handlers in Workbench V2.0 have the capability to use any device and
- unit, so this whole problem is non-existent if you have V2.0. (Well,
- that's what Andy Finkel told me some months ago. As of 37.59 it hasn't
- happened!)
-
-
- Support Programs
- ----------------
- Several programs are available for use with the I/O Expansion Board.
-
- SERprefs functions much the same as the serial section of Preferences, but
- allows you to set and save parameters for all four units of the
- newser.device. These are saved in "S:Serial-Preferences".
-
- Many programs allow you to specify the device name and unit number, so that
- using an alternate device driver is no problem. For those applications that
- insist on using a particular device, we have written a nice little hack
- called IOpatch. This program SetFunction()s the exec OpenDevice call. The
- user puts this program in his startup-sequence, or otherwise invokes it,
- before he runs his application program. This patch will make a small window
- appear, whenever OpenDevice() is called, with a choice of units; 0-4. Unit 0
- will select the internal serial or parallel port, and units 1-4 will select
- one of the newser.device or eightbit.device units. Please note that the
- names of both drivers have been selected to be the same length as the names
- of the original devices. This has been done to facilitate file-zapping as a
- last resort. Of course, software may be written that names the newser.device
- or eightbit.device specifically.
-
- A suite of simple test programs to check the I/O Expansion Board Hardware can
- save you hours of hardware debugging time. Chip selects, as well as read and
- write signals, are generated for all chips. One program simulates a very
- simple character-oriented terminal program for checking an ACIA. Please see
- Appendix D for information on other software.
-
- A nice little program to drive a real-time clock-calendar is also available.
- The clock hardware, based on the OKI MSM5832, is capable of generating
- interrupts at 1024 hz, once per second, once per minute, or hourly. Software
- to take advantage of this feature is left as an exercize for the student.
- See the SOURCES section for availability of a bare board for this clock.
-
-
- Credits
- =======
- I would like to thank Dan Babcock for the many hours he put in writing and
- debugging the serial device driver. This was surely one of the most
- difficult parts of this project. Paul Coward, of DigiSoft, provided us with
- the parallel device driver, no small achievement either. Jim Cooper, of The
- Software Distillery, made many helpful suggestions concerning software
- issues, especially in the area of DOS compatibility, and helped us get up to
- speed. Bill Seymour provided invaluable help in layout and pre-production of
- the PCBs, and also provided design help. Finally, this task was made easier
- by the help and encouragment of Doug Sears and Grace Lavin.
-
-
- Conclusion
- ==========
- I think this is a pretty neat little hack. I also feel that it is simple
- enough that if I hadn't come up with it, someone else would have. It
- provides some much-needed additional I/O for the Amiga 500, 1000 or 2000 at a
- rock-bottom price. If enough software becomes available to warrant it, I
- will try to set up some sort of software clearing house for use with this
- board. Keep an eye on BIX or my BBS, The Symposium, for any news.
- Meanwhile, I hope you enjoy using this board. And don't let the blue smoke
- out!
-
-
- Amiga, Kickstart & Workbench are trademarks of Commodore-Amiga, Inc.
-
-
- *****************************************************************************
- * *
- * APPENDIX A - SOURCES *
- * *
- *****************************************************************************
-
- Bare boards and other hard-to-find parts may be obtained from The Puzzle
- Factory. Detailed assembly instructions will be supplied, on disk, with kits
- 1, 1A, 2, 2A and 3. In particular, the CMOS serial and parallel chips, as
- well as the Maxim chips may be difficult to find in single quantities. Other
- parts may be found at the mail order electronic supply firms listed below, or
- any good parts house.
-
- The Puzzle Factory will make only the following items available for an
- indefinite period of time. Please do not request custom kits:
-
- 1. BAREBOARDS 1 PCB1 I/O Expansion Board
- 1 PCB2 Serial Interface Board $20.00
- 1A. BAREBOARDS2 1 PCB1 I/O Expansion Board
- 2 PCB2 Serial Interface Board $25.00
- 2. ALMOSTBARE Everything in BAREBOARDS, and the following ICs:
- 1 each: R65C22P1, R65C52P1, MAX238CNG $45.00
- 2A. ALMOSTBARE2 Everything in BAREBOARDS2, and the following ICs:
- 2 each: R65C22P1, R65C52P1
- 4 each: MAX238CNG $70.00
- 3. FOUR_PORTS Everything in ALMOSTBARE, and enough parts to
- build a complete I/O System with 2 serial and
- 2 parallel ports. (U7, OSC1, SO7 not included.) $70.00
- 4. FOUR_MORE All parts necessary to add 2 serial and 2 parallel
- ports to FOUR_PORTS. (U7, OSC1, SO7 not included.) $40.00
- 5. MIDI_UP 1 each: U7, OSC1, SO7 $ 6.00
- 6. CLOCKBOARD 1 PCB3 Clock/Calendar Board suitable for building a
- real-time clock/calendar based on the OKI MSM5832.
- Instructions for assembling the clock are included
- on disk with kits 1, 1A, 2, 2A and 3. (Parts are
- readily available, but not from us.) $ 6.50
-
- Shipping: Prices for up to 1 lb. If shipping several kits $CALL
- --------
- North America: UPS Ground $ 3.00
- UPS Blue Label, or Small Packet Air $ 5.00
- Federal Express Overnite $CALL
- Overseas: Small Packet Air only $ 8.00
- Federal Express Overnite $CALL
-
- Prices are subject to change without notice. Please call for prices and
- availability before ordering. All prices are in U.S. dollars. Visa,
- MasterCard and Money Orders are preferred. No CODs will be accepted.
-
-
-
- The Puzzle Factory, Inc. Digi-Key, Corporation
- P.O. Box 986 701 Brooks Ave. South
- Veneta, OR 97486 P.O. Box 677
- (503) 935-3709 Thief River Falls, NM 56701-0677
- (800) 344-4539
-
- Mouser Electronics Mouser Electronics Mouser Electronics
- 11433 Woodside Ave. 2401 Hwy 287 North 12 Emory Ave.
- Santee, CA 92071 Mansfield,TX 76063 Randolph, NJ 07869
- (800) 346-6873 (800) 346-6873 (800) 346-6873
-
- JDR Microdevices Jameco Electronics
- 2233 Branham Lane 1355 Shoreway Road
- San Jose, CA 95124 Belmont, CA 94002
- (800) 538-5000 (415) 592-8097
-
-
-
- *****************************************************************************
- * *
- * APPENDIX B - PARTS LIST *
- * *
- *****************************************************************************
-
- *** MAIN BOARD PARTS LIST ***
-
- PCB1 = I/O Expansion Board circuit board
- U1 = 8520 integrated circuit (CIA B from Amiga)
- U2, U3 = R65C22P1 VIA integrated circuit
- U4, U5 = R65C52P1 DACIA integrated circuit
- U6 = 74F139 integrated circuit
- U7 = 74LS90 integrated circuit (optional for MIDI)
-
- X1 = 3.6864 Mhz crystal
- OSC1 = 5.0 Mhz TTL clock oscillator (optional for MIDI)
-
- R1, R2 = 1K 1/4W 5% resistor
- C1, C2 = 18 pf capacitor
- C3 = 22 uf 6.3V decoupling capacitor
- C4-C10 = .01 uf decoupling capacitor
-
- P1 = 20x2 pin dual-row header
- P2, P3 = 20x1 pin single-row male header
- P4, P5 = 10x2 pin dual-row header
-
- J1, J2 = 3x1 pin single-row header
- J3 = 2x1 pin single-row header
-
- S1, S2 = Shorting jumpers, gold inlay
-
- SO1-SO5 = 40 pin DIP socket
- SO6 = 16 pin DIP socket
- SO7 = 14 pin DIP socket (Optional for MIDI)
-
- This parts list is for building a 4/4 port board. Depending on which set of
- parts you order, and whether you are building 2 or 4 ports, you may receive
- fewer parts than this.
-
-
- *** INTERFACE BOARD PARTS LIST ***
-
- PCB2 = Serial Interface Board
- U1, U2 = MAX238CNG
-
- R1, R2 = 1K 1/4W 5% resistor (Optional)
- C1, C5 = 4.7 uf 25V Capacitor, charge pump
- C2, C6 = 4.7 uf 25V Capacitor, charge pump
- C3, C7 = 10 uf 25V Capacitor, charge pump
- C4, C8 = 10 uf 25V Capacitor, charge pump
-
- P1 = 10x2 pin dual-row header
- P2, P3 = 25 pin right-angle pcb male D-sub connector
-
- SO1,SO2 = 24 pin DIP socket on .300" centers
-
- Please note that this parts list will build 1 Interface Board, which will
- provide 2 ports. For 4 serial ports, 2 Interface Boards are required.
-
-
- *** CABLE PARTS LIST ***
-
- N1 = 20x2 pin dual-row socket connector
- N2, N3 = 10x2 pin dual-row socket connector
- CA1 = 40 pin DIP plug with 9" 28 ga. ribbon cable, rainbow
- CA2 = 20 conductor, 28 ga. ribbon cable, rainbow
-
- Please note that this parts list will connect the I/O Expansion Board to the
- Amiga and to 1 Interface Board, which will provide 2 ports. For 4 serial
- ports, more parts are required.
-
-
- *** CLOCK PARTS LIST ***
-
- PCB3 = Clock/Calendar Board
- U1 = OKI MSM5832 Real-time Clock/calendar integrated circuit
- X1 = 32.768 Khz clock crystal
- C1 = 4.7 uf 6.3V decoupling capacitor
- C2 = 20 pf disc capacitor
- C3 = 5-35 pf variable capacitor
- R1 = 2.7K 1/4W 5% resistor
- R2 = 100 ohm 1/4W 5% resistor (Not required with lithium battery)
- D1 = 1N4000 diode (Not required with lithium battery)
- SO1 = 18 pin DIP socket
- P1 = 20x1 pin single-row right-angle socket connector
- B1 = NiCad or Lithium battery
-
- Please note that the above clock parts are readily available, but not from
- us, except for the printed circuit board, PCB3.
-
-
- *****************************************************************************
- * *
- * APPENDIX C - PORT ASSIGNMENTS *
- * *
- *****************************************************************************
-
- There are four possible units associated with the newser.device, as follows:
-
- Unit 1: U4, ACIA2 -> P4, pins 1-10
- Unit 2: U4, ACIA1 -> P4, pins 11-20
- Unit 3: U5, ACIA2 -> P5, pins 1-10
- Unit 4: U5, ACIA1 -> P5, pins 11-20
-
- The serial interface connector pinouts are arranged as follows. Note that
- these connectors are symmetrical:
-
- GND ( 1) ( 2) GND
- TxD01 ( 3) ( 4) RxD01
- RTS01 ( 5) ( 6) CTS01
- DTR01 ( 7) ( 8) DSR01
- +5 ( 9) (10) DCD01
- DCD00 (11) (12) +5
- DSR00 (13) (14) DTR00
- CTS00 (15) (16) RTS00
- RxD00 (17) (18) TxD00
- GND (19) (20) GND
-
- There are four possible units associated with the eightbit.device, as follows:
-
- Unit 1: U2, Port A -> P2, pins 1-10 + ground
- Unit 2: U2, Port B -> P2, pins 11-20 + ground
- Unit 3: U3, Port A -> P3, pins 1-10 + ground
- Unit 4: U3, Port B -> P3, pins 11-20 + ground
-
- The parallel interface connector pinouts are arranged as follows:
-
- Name P2 Name P3 Comments
- ==== == ==== == ========
- CA1.2 1 CA1.3 1 Control line 1, Port A
- CA2.2 2 CA2.3 2 Control line 2, Port A
- PA0.2 3 PA0.3 3 Data line 0, Port A
- PA1.2 4 PA1.3 4 Data line 1, Port A
- PA2.2 5 PA2.3 5 Data line 2, Port A
- PA3.2 6 PA3.3 6 Data line 3, Port A
- PA4.2 7 PA4.3 7 Data line 4, Port A
- PA5.2 8 PA5.3 8 Data line 5, Port A
- PA6.2 9 PA6.3 9 Data line 6, Port A
- PA7.2 10 PA7.3 10 Data line 7, Port A
- PB0.2 11 PB0.3 11 Data line 0, Port B
- PB1.2 12 PB1.3 12 Data line 1, Port B
- PB2.2 13 PB2.3 13 Data line 2, Port B
- PB3.2 14 PB3.3 14 Data line 3, Port B
- PB4.2 15 PB4.3 15 Data line 4, Port B
- PB5.2 16 PB5.3 16 Data line 5, Port B
- PB6.2 17 PB6.3 17 Data line 6, Port B
- PB7.2 18 PB7.3 18 Data line 7, Port B
- CB1.2 19 CB1.3 19 Control line 1, Port B
- CB2.2 20 CB2.3 20 Control line 2, Port B
- GND.2 PAD GND.3 PAD
-
-
- *****************************************************************************
- * *
- * APPENDIX D - SOFTWARE *
- * *
- *****************************************************************************
-
- NewSER/newser.device
- ====================
- A serial device driver which supports 15 standard baud rates, from 50 to
- 38,400 baud, plus MIDI (31,250 baud). It also supports full hardware
- handshaking. Up to four units may be open at one time, although the cpu may
- not be able to keep up with all four units running above 2400 baud.
-
- NewPAR/eightbit.device
- ======================
- A parallel device driver similar in operation to the standard Amiga V1.3
- parallel.device.
-
- Handler/ioexp-handler
- =====================
- A small handler that supports AmigaDOS operations for the newser.device and
- eightbit.device.
-
- SERprefs/SERprefs
- =================
- This program functions much the same as the serial section of Preferences,
- but allows you to set and save parameters for all four units of the
- newser.device.
-
- IOpatch/IOpatch
- ===============
- A nice little hack to allow use of the newser.device or eightbit.device with
- applications that insist on using a particular device. This program
- SetFunction()s the exec OpenDevice() call.
-
- Test/IOSetup
- ============
- Places known values in certain registers on the I/O Expansion Board so that
- they may be verified with the IOPrint program.
-
- Test/IOPrint
- ============
- Prints (to stdout) all the registers on the I/O Expansion Board.
-
- Test/IOTest
- ===========
- A suite of 9 simple test programs to check the I/O Expansion Board Hardware.
- Generates chip selects, as well as read and write signals, for all chips.
- One program simulates a very simple character-oriented terminal program for
- checking an ACIA.
-
- Test/PARtest
- ============
- A test program for the Rockwell 65C22. This program takes a filespec as its
- only argument, and stuffs the file out parallel Port 2 (VIA #1, Port A) to a
- printer. No devices are involved; we go right to the hardware. In this
- version, interrupts are not used, and handshaking is accomplished by hardware
- polling.
-
- Time/Time
- =========
- A small program to drive an OKI MSM5832 real-time clock-calendar. Provides
- system interface functions to allow setting the clock from sysTime, and
- setting sysTime from the clock.
-
-
- =eof=
-